package com.niit.mall.user.domain.po;


import com.baomidou.mybatisplus.annotation.*;

import com.niit.mall.user.domain.enums.UserStatus;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;

/**
 * @BelongsProject: pardo_mall_backend
 * @BelongsPackage: com.niit.mall.admin.domain.po
 * @Author: ChuXuan
 * @CreateTime: 2025-05-21  18:46
 * @Description: 用户实体类
 * @Version: 1.0
 */
@Data
@Accessors(chain = true)
@TableName(value = "tb_user",  autoResultMap = true)
public class User implements Serializable {
	
	/**
	 * 序列化版本UID。
	 */
	private static final long serialVersionUID = 1L;
	
	/**
	 * 唯一标识符
	 */
	@TableId(value = "id",type = IdType.AUTO)
	private Long id;
	
	/**
	 * 用户名
	 */
	@TableField(value = "username")
	private String username;
	
	/**
	 * 密码，加密存储
	 */
	@TableField(value = "password")
	private String password;
	
	/**
	 * 注册手机号
	 */
	@TableField(value = "phone")
	private String phone;

	/**
	 * 用户状态
	 */
	@TableField(value = "status")
	private UserStatus status;

	/**
	 * 在线状态
	 */
	private Integer onlineStatus;
	
	/**
	 *
	 * 删除标记，用于标识数据是否已被逻辑删除。
	 */
	@TableLogic
	@TableField(value = "is_deleted")
	private Integer isDeleted;

	/**
	 * 创建日期
	 */
	@TableField(value = "create_date")
	private LocalDate createDate;
	
	/**
	 * 更新日期
	 */
	@TableField(value = "update_date")
	private LocalDate updateDate;
	
	/**
	 * 版本号
	 */
	@TableField(value = "version")
	private Integer version;


	
}
